package com.sc.nft.admin.request;

import com.sc.nft.enums.MarketTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;

@Data
public class UpdateDigitalCollectionRequest extends IdRequest {

    @ApiModelProperty("一级标题")
    @NotBlank(message = "一级标题不能为空")
    private String firstTitle;

    @ApiModelProperty("商品介绍")
    @NotNull(message = "商品介绍不能为空")
    private String productPresentation;

    @ApiModelProperty("特权介绍")
    private String privilegePresentation;

    @ApiModelProperty("详情页图类型 1 图片 2:动图 3:3d模型")
    @NotNull(message = "详情页图类型不能为空")
    private Integer productDetailPictureType;

    @ApiModelProperty("详情页图")
    @NotNull(message = "详情页图不能为空")
    private String productDetailPicture;

    @ApiModelProperty("系列id")
    private Long catenaId;

    @ApiModelProperty("创作者")
    private Long userCreatorId;

    @ApiModelProperty("是否可以转增 false:不可以 true:可以")
    @NotNull(message = "详情页图类型不能为空")
    private Boolean isGive;

    @ApiModelProperty("锁仓天数")
    @Range(min = 0, message = "锁仓天数数量不正确")
    @NotNull(message = "锁仓天数不能为空")
    private Integer lockupDays;

    @ApiModelProperty("3d模型id")
    private String threeModelId;

    @ApiModelProperty("流通数量")
    @Range(min = 0, message = "流通数量不正确")
    @NotNull(message = "流通数量不能为空")
    private Integer circulationNum;

    @ApiModelProperty("防囤数量")
    private Integer antiHoardCount;

    @ApiModelProperty("防囤收益比例")
    private BigDecimal antiHoardRatio;

    @ApiModelProperty("发行价")
    private BigDecimal issuePrice;

    @ApiModelProperty("跳转详情")
    private String skipUrl;

    @ApiModelProperty("藏品等级")
    private Integer showLevel;

    @ApiModelProperty("藏品属性")
    @NotNull(message = "藏品属性不能为空")
    private List<Long> collectionSearch;

}
